

#include "httplib.h"
#include <iostream>
#include <string>

using namespace httplib;


void HelloWhat(const Request& req, Response& rsp)
{
    rsp.body = "Hello What!";
    rsp.status = 200;  // 200 可以忽略，默认 httplib 会加上一个 200 的状态码 
}

void Numbers(const Request& req, Response& rsp)
{
    // matches 内存放正则表达式匹配的规则数据 
    // eg: /number/123 --> matches[0] = "/numbers/123", matches[1] = "123";
    std::string num = req.matches[1];
    rsp.set_content(num, "text/plain");  // 正文类型（向 rsp.body 里面添加数据，并且设置 Content-Type 类型） 
    rsp.status = 200;
}

int main()
{
    Server server;

    // 设置静态资源根目录 
    server.set_mount_point("/", "./www");

    // 添加 请求--处理函数 的映射信息（对应的请求使用对应的函数处理）
    server.Get("/hi", HelloWhat);
    server.Get(R"(/number/(\\d+))", Numbers);

    server.listen("0.0.0.0", 8888);

    return 0;
}

